package com.sl.mes.db.vo;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;

public class SmUser {
    private String cuserid;

    private String abledate;

    private String agreementstatus;

    private Integer baseDocType;

    private String contentlang;

    private String creationtime;

    private String creator;

    private Integer dataoriginflag;

    private String disabledate;

    private Integer dr;

    private String email;

    private Integer enablestate;

    private String format;

    private String identityverifycode;

    private String isca;

    private String islocked;

    private String modifiedtime;

    private String modifier;

    private String pkBaseDoc;

    private String pkCustomer;

    private String pkGroup;

    private String pkOrg;

    private String pkPsndoc;

    private String pkSupplier;

    private String pkUsergroupforcreate;

    private Integer pwderrorcount;

    private String pwdlevelcode;

    private String pwdparam;

    private String secondverify;

    private String systype;

    private LocalDateTime ts;

    private String userCode;

    private String userCodeQ;

    private String userName;

    private String userName2;

    private String userName3;

    private String userName4;

    private String userName5;

    private String userName6;

    private String userNote;

    private String userPassword;

    private Integer userType;

    public String getCuserid() {
        return cuserid;
    }

    public void setCuserid(String cuserid) {
        this.cuserid = cuserid;
    }

    public String getAbledate() {
        return abledate;
    }

    public void setAbledate(String abledate) {
        this.abledate = abledate;
    }

    public String getAgreementstatus() {
        return agreementstatus;
    }

    public void setAgreementstatus(String agreementstatus) {
        this.agreementstatus = agreementstatus;
    }

    public Integer getBaseDocType() {
        return baseDocType;
    }

    public void setBaseDocType(Integer baseDocType) {
        this.baseDocType = baseDocType;
    }

    public String getContentlang() {
        return contentlang;
    }

    public void setContentlang(String contentlang) {
        this.contentlang = contentlang;
    }

    public String getCreationtime() {
        return creationtime;
    }

    public void setCreationtime(String creationtime) {
        this.creationtime = creationtime;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public Integer getDataoriginflag() {
        return dataoriginflag;
    }

    public void setDataoriginflag(Integer dataoriginflag) {
        this.dataoriginflag = dataoriginflag;
    }

    public String getDisabledate() {
        return disabledate;
    }

    public void setDisabledate(String disabledate) {
        this.disabledate = disabledate;
    }

    public Integer getDr() {
        return dr;
    }

    public void setDr(Integer dr) {
        this.dr = dr;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getEnablestate() {
        return enablestate;
    }

    public void setEnablestate(Integer enablestate) {
        this.enablestate = enablestate;
    }

    public String getFormat() {
        return format;
    }

    public void setFormat(String format) {
        this.format = format;
    }

    public String getIdentityverifycode() {
        return identityverifycode;
    }

    public void setIdentityverifycode(String identityverifycode) {
        this.identityverifycode = identityverifycode;
    }

    public String getIsca() {
        return isca;
    }

    public void setIsca(String isca) {
        this.isca = isca;
    }

    public String getIslocked() {
        return islocked;
    }

    public void setIslocked(String islocked) {
        this.islocked = islocked;
    }

    public String getModifiedtime() {
        return modifiedtime;
    }

    public void setModifiedtime(String modifiedtime) {
        this.modifiedtime = modifiedtime;
    }

    public String getModifier() {
        return modifier;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
    }

    public String getPkBaseDoc() {
        return pkBaseDoc;
    }

    public void setPkBaseDoc(String pkBaseDoc) {
        this.pkBaseDoc = pkBaseDoc;
    }

    public String getPkCustomer() {
        return pkCustomer;
    }

    public void setPkCustomer(String pkCustomer) {
        this.pkCustomer = pkCustomer;
    }

    public String getPkGroup() {
        return pkGroup;
    }

    public void setPkGroup(String pkGroup) {
        this.pkGroup = pkGroup;
    }

    public String getPkOrg() {
        return pkOrg;
    }

    public void setPkOrg(String pkOrg) {
        this.pkOrg = pkOrg;
    }

    public String getPkPsndoc() {
        return pkPsndoc;
    }

    public void setPkPsndoc(String pkPsndoc) {
        this.pkPsndoc = pkPsndoc;
    }

    public String getPkSupplier() {
        return pkSupplier;
    }

    public void setPkSupplier(String pkSupplier) {
        this.pkSupplier = pkSupplier;
    }

    public String getPkUsergroupforcreate() {
        return pkUsergroupforcreate;
    }

    public void setPkUsergroupforcreate(String pkUsergroupforcreate) {
        this.pkUsergroupforcreate = pkUsergroupforcreate;
    }

    public Integer getPwderrorcount() {
        return pwderrorcount;
    }

    public void setPwderrorcount(Integer pwderrorcount) {
        this.pwderrorcount = pwderrorcount;
    }

    public String getPwdlevelcode() {
        return pwdlevelcode;
    }

    public void setPwdlevelcode(String pwdlevelcode) {
        this.pwdlevelcode = pwdlevelcode;
    }

    public String getPwdparam() {
        return pwdparam;
    }

    public void setPwdparam(String pwdparam) {
        this.pwdparam = pwdparam;
    }

    public String getSecondverify() {
        return secondverify;
    }

    public void setSecondverify(String secondverify) {
        this.secondverify = secondverify;
    }

    public String getSystype() {
        return systype;
    }

    public void setSystype(String systype) {
        this.systype = systype;
    }

    public LocalDateTime getTs() {
        return ts;
    }

    public void setTs(LocalDateTime ts) {
        this.ts = ts;
    }

    public String getUserCode() {
        return userCode;
    }

    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }

    public String getUserCodeQ() {
        return userCodeQ;
    }

    public void setUserCodeQ(String userCodeQ) {
        this.userCodeQ = userCodeQ;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserName2() {
        return userName2;
    }

    public void setUserName2(String userName2) {
        this.userName2 = userName2;
    }

    public String getUserName3() {
        return userName3;
    }

    public void setUserName3(String userName3) {
        this.userName3 = userName3;
    }

    public String getUserName4() {
        return userName4;
    }

    public void setUserName4(String userName4) {
        this.userName4 = userName4;
    }

    public String getUserName5() {
        return userName5;
    }

    public void setUserName5(String userName5) {
        this.userName5 = userName5;
    }

    public String getUserName6() {
        return userName6;
    }

    public void setUserName6(String userName6) {
        this.userName6 = userName6;
    }

    public String getUserNote() {
        return userNote;
    }

    public void setUserNote(String userNote) {
        this.userNote = userNote;
    }

    public String getUserPassword() {
        return userPassword;
    }

    public void setUserPassword(String userPassword) {
        this.userPassword = userPassword;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", cuserid=").append(cuserid);
        sb.append(", abledate=").append(abledate);
        sb.append(", agreementstatus=").append(agreementstatus);
        sb.append(", baseDocType=").append(baseDocType);
        sb.append(", contentlang=").append(contentlang);
        sb.append(", creationtime=").append(creationtime);
        sb.append(", creator=").append(creator);
        sb.append(", dataoriginflag=").append(dataoriginflag);
        sb.append(", disabledate=").append(disabledate);
        sb.append(", dr=").append(dr);
        sb.append(", email=").append(email);
        sb.append(", enablestate=").append(enablestate);
        sb.append(", format=").append(format);
        sb.append(", identityverifycode=").append(identityverifycode);
        sb.append(", isca=").append(isca);
        sb.append(", islocked=").append(islocked);
        sb.append(", modifiedtime=").append(modifiedtime);
        sb.append(", modifier=").append(modifier);
        sb.append(", pkBaseDoc=").append(pkBaseDoc);
        sb.append(", pkCustomer=").append(pkCustomer);
        sb.append(", pkGroup=").append(pkGroup);
        sb.append(", pkOrg=").append(pkOrg);
        sb.append(", pkPsndoc=").append(pkPsndoc);
        sb.append(", pkSupplier=").append(pkSupplier);
        sb.append(", pkUsergroupforcreate=").append(pkUsergroupforcreate);
        sb.append(", pwderrorcount=").append(pwderrorcount);
        sb.append(", pwdlevelcode=").append(pwdlevelcode);
        sb.append(", pwdparam=").append(pwdparam);
        sb.append(", secondverify=").append(secondverify);
        sb.append(", systype=").append(systype);
        sb.append(", ts=").append(ts);
        sb.append(", userCode=").append(userCode);
        sb.append(", userCodeQ=").append(userCodeQ);
        sb.append(", userName=").append(userName);
        sb.append(", userName2=").append(userName2);
        sb.append(", userName3=").append(userName3);
        sb.append(", userName4=").append(userName4);
        sb.append(", userName5=").append(userName5);
        sb.append(", userName6=").append(userName6);
        sb.append(", userNote=").append(userNote);
        sb.append(", userPassword=").append(userPassword);
        sb.append(", userType=").append(userType);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        SmUser other = (SmUser) that;
        return (this.getCuserid() == null ? other.getCuserid() == null : this.getCuserid().equals(other.getCuserid()))
            && (this.getAbledate() == null ? other.getAbledate() == null : this.getAbledate().equals(other.getAbledate()))
            && (this.getAgreementstatus() == null ? other.getAgreementstatus() == null : this.getAgreementstatus().equals(other.getAgreementstatus()))
            && (this.getBaseDocType() == null ? other.getBaseDocType() == null : this.getBaseDocType().equals(other.getBaseDocType()))
            && (this.getContentlang() == null ? other.getContentlang() == null : this.getContentlang().equals(other.getContentlang()))
            && (this.getCreationtime() == null ? other.getCreationtime() == null : this.getCreationtime().equals(other.getCreationtime()))
            && (this.getCreator() == null ? other.getCreator() == null : this.getCreator().equals(other.getCreator()))
            && (this.getDataoriginflag() == null ? other.getDataoriginflag() == null : this.getDataoriginflag().equals(other.getDataoriginflag()))
            && (this.getDisabledate() == null ? other.getDisabledate() == null : this.getDisabledate().equals(other.getDisabledate()))
            && (this.getDr() == null ? other.getDr() == null : this.getDr().equals(other.getDr()))
            && (this.getEmail() == null ? other.getEmail() == null : this.getEmail().equals(other.getEmail()))
            && (this.getEnablestate() == null ? other.getEnablestate() == null : this.getEnablestate().equals(other.getEnablestate()))
            && (this.getFormat() == null ? other.getFormat() == null : this.getFormat().equals(other.getFormat()))
            && (this.getIdentityverifycode() == null ? other.getIdentityverifycode() == null : this.getIdentityverifycode().equals(other.getIdentityverifycode()))
            && (this.getIsca() == null ? other.getIsca() == null : this.getIsca().equals(other.getIsca()))
            && (this.getIslocked() == null ? other.getIslocked() == null : this.getIslocked().equals(other.getIslocked()))
            && (this.getModifiedtime() == null ? other.getModifiedtime() == null : this.getModifiedtime().equals(other.getModifiedtime()))
            && (this.getModifier() == null ? other.getModifier() == null : this.getModifier().equals(other.getModifier()))
            && (this.getPkBaseDoc() == null ? other.getPkBaseDoc() == null : this.getPkBaseDoc().equals(other.getPkBaseDoc()))
            && (this.getPkCustomer() == null ? other.getPkCustomer() == null : this.getPkCustomer().equals(other.getPkCustomer()))
            && (this.getPkGroup() == null ? other.getPkGroup() == null : this.getPkGroup().equals(other.getPkGroup()))
            && (this.getPkOrg() == null ? other.getPkOrg() == null : this.getPkOrg().equals(other.getPkOrg()))
            && (this.getPkPsndoc() == null ? other.getPkPsndoc() == null : this.getPkPsndoc().equals(other.getPkPsndoc()))
            && (this.getPkSupplier() == null ? other.getPkSupplier() == null : this.getPkSupplier().equals(other.getPkSupplier()))
            && (this.getPkUsergroupforcreate() == null ? other.getPkUsergroupforcreate() == null : this.getPkUsergroupforcreate().equals(other.getPkUsergroupforcreate()))
            && (this.getPwderrorcount() == null ? other.getPwderrorcount() == null : this.getPwderrorcount().equals(other.getPwderrorcount()))
            && (this.getPwdlevelcode() == null ? other.getPwdlevelcode() == null : this.getPwdlevelcode().equals(other.getPwdlevelcode()))
            && (this.getPwdparam() == null ? other.getPwdparam() == null : this.getPwdparam().equals(other.getPwdparam()))
            && (this.getSecondverify() == null ? other.getSecondverify() == null : this.getSecondverify().equals(other.getSecondverify()))
            && (this.getSystype() == null ? other.getSystype() == null : this.getSystype().equals(other.getSystype()))
            && (this.getTs() == null ? other.getTs() == null : this.getTs().equals(other.getTs()))
            && (this.getUserCode() == null ? other.getUserCode() == null : this.getUserCode().equals(other.getUserCode()))
            && (this.getUserCodeQ() == null ? other.getUserCodeQ() == null : this.getUserCodeQ().equals(other.getUserCodeQ()))
            && (this.getUserName() == null ? other.getUserName() == null : this.getUserName().equals(other.getUserName()))
            && (this.getUserName2() == null ? other.getUserName2() == null : this.getUserName2().equals(other.getUserName2()))
            && (this.getUserName3() == null ? other.getUserName3() == null : this.getUserName3().equals(other.getUserName3()))
            && (this.getUserName4() == null ? other.getUserName4() == null : this.getUserName4().equals(other.getUserName4()))
            && (this.getUserName5() == null ? other.getUserName5() == null : this.getUserName5().equals(other.getUserName5()))
            && (this.getUserName6() == null ? other.getUserName6() == null : this.getUserName6().equals(other.getUserName6()))
            && (this.getUserNote() == null ? other.getUserNote() == null : this.getUserNote().equals(other.getUserNote()))
            && (this.getUserPassword() == null ? other.getUserPassword() == null : this.getUserPassword().equals(other.getUserPassword()))
            && (this.getUserType() == null ? other.getUserType() == null : this.getUserType().equals(other.getUserType()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getCuserid() == null) ? 0 : getCuserid().hashCode());
        result = prime * result + ((getAbledate() == null) ? 0 : getAbledate().hashCode());
        result = prime * result + ((getAgreementstatus() == null) ? 0 : getAgreementstatus().hashCode());
        result = prime * result + ((getBaseDocType() == null) ? 0 : getBaseDocType().hashCode());
        result = prime * result + ((getContentlang() == null) ? 0 : getContentlang().hashCode());
        result = prime * result + ((getCreationtime() == null) ? 0 : getCreationtime().hashCode());
        result = prime * result + ((getCreator() == null) ? 0 : getCreator().hashCode());
        result = prime * result + ((getDataoriginflag() == null) ? 0 : getDataoriginflag().hashCode());
        result = prime * result + ((getDisabledate() == null) ? 0 : getDisabledate().hashCode());
        result = prime * result + ((getDr() == null) ? 0 : getDr().hashCode());
        result = prime * result + ((getEmail() == null) ? 0 : getEmail().hashCode());
        result = prime * result + ((getEnablestate() == null) ? 0 : getEnablestate().hashCode());
        result = prime * result + ((getFormat() == null) ? 0 : getFormat().hashCode());
        result = prime * result + ((getIdentityverifycode() == null) ? 0 : getIdentityverifycode().hashCode());
        result = prime * result + ((getIsca() == null) ? 0 : getIsca().hashCode());
        result = prime * result + ((getIslocked() == null) ? 0 : getIslocked().hashCode());
        result = prime * result + ((getModifiedtime() == null) ? 0 : getModifiedtime().hashCode());
        result = prime * result + ((getModifier() == null) ? 0 : getModifier().hashCode());
        result = prime * result + ((getPkBaseDoc() == null) ? 0 : getPkBaseDoc().hashCode());
        result = prime * result + ((getPkCustomer() == null) ? 0 : getPkCustomer().hashCode());
        result = prime * result + ((getPkGroup() == null) ? 0 : getPkGroup().hashCode());
        result = prime * result + ((getPkOrg() == null) ? 0 : getPkOrg().hashCode());
        result = prime * result + ((getPkPsndoc() == null) ? 0 : getPkPsndoc().hashCode());
        result = prime * result + ((getPkSupplier() == null) ? 0 : getPkSupplier().hashCode());
        result = prime * result + ((getPkUsergroupforcreate() == null) ? 0 : getPkUsergroupforcreate().hashCode());
        result = prime * result + ((getPwderrorcount() == null) ? 0 : getPwderrorcount().hashCode());
        result = prime * result + ((getPwdlevelcode() == null) ? 0 : getPwdlevelcode().hashCode());
        result = prime * result + ((getPwdparam() == null) ? 0 : getPwdparam().hashCode());
        result = prime * result + ((getSecondverify() == null) ? 0 : getSecondverify().hashCode());
        result = prime * result + ((getSystype() == null) ? 0 : getSystype().hashCode());
        result = prime * result + ((getTs() == null) ? 0 : getTs().hashCode());
        result = prime * result + ((getUserCode() == null) ? 0 : getUserCode().hashCode());
        result = prime * result + ((getUserCodeQ() == null) ? 0 : getUserCodeQ().hashCode());
        result = prime * result + ((getUserName() == null) ? 0 : getUserName().hashCode());
        result = prime * result + ((getUserName2() == null) ? 0 : getUserName2().hashCode());
        result = prime * result + ((getUserName3() == null) ? 0 : getUserName3().hashCode());
        result = prime * result + ((getUserName4() == null) ? 0 : getUserName4().hashCode());
        result = prime * result + ((getUserName5() == null) ? 0 : getUserName5().hashCode());
        result = prime * result + ((getUserName6() == null) ? 0 : getUserName6().hashCode());
        result = prime * result + ((getUserNote() == null) ? 0 : getUserNote().hashCode());
        result = prime * result + ((getUserPassword() == null) ? 0 : getUserPassword().hashCode());
        result = prime * result + ((getUserType() == null) ? 0 : getUserType().hashCode());
        return result;
    }

    /**
     * This enum was generated by MyBatis Generator.
     * This enum corresponds to the database table sm_user
     *
     * @mbg.generated
     * @project https://github.com/itfsw/mybatis-generator-plugin
     */
    public enum Column {
        cuserid("cuserid", "cuserid", "CHAR", false),
        abledate("abledate", "abledate", "CHAR", false),
        agreementstatus("agreementstatus", "agreementstatus", "VARCHAR", false),
        baseDocType("base_doc_type", "baseDocType", "INTEGER", false),
        contentlang("contentlang", "contentlang", "VARCHAR", false),
        creationtime("creationtime", "creationtime", "CHAR", false),
        creator("creator", "creator", "VARCHAR", false),
        dataoriginflag("dataoriginflag", "dataoriginflag", "INTEGER", false),
        disabledate("disabledate", "disabledate", "CHAR", false),
        dr("dr", "dr", "INTEGER", false),
        email("email", "email", "VARCHAR", false),
        enablestate("enablestate", "enablestate", "INTEGER", false),
        format("format", "format", "VARCHAR", false),
        identityverifycode("identityverifycode", "identityverifycode", "VARCHAR", false),
        isca("isca", "isca", "CHAR", false),
        islocked("islocked", "islocked", "CHAR", false),
        modifiedtime("modifiedtime", "modifiedtime", "CHAR", false),
        modifier("modifier", "modifier", "VARCHAR", false),
        pkBaseDoc("pk_base_doc", "pkBaseDoc", "VARCHAR", false),
        pkCustomer("pk_customer", "pkCustomer", "VARCHAR", false),
        pkGroup("pk_group", "pkGroup", "VARCHAR", false),
        pkOrg("pk_org", "pkOrg", "VARCHAR", false),
        pkPsndoc("pk_psndoc", "pkPsndoc", "VARCHAR", false),
        pkSupplier("pk_supplier", "pkSupplier", "VARCHAR", false),
        pkUsergroupforcreate("pk_usergroupforcreate", "pkUsergroupforcreate", "VARCHAR", false),
        pwderrorcount("pwderrorcount", "pwderrorcount", "INTEGER", false),
        pwdlevelcode("pwdlevelcode", "pwdlevelcode", "VARCHAR", false),
        pwdparam("pwdparam", "pwdparam", "VARCHAR", false),
        secondverify("secondverify", "secondverify", "VARCHAR", false),
        systype("systype", "systype", "VARCHAR", false),
        ts("ts", "ts", "TIMESTAMP", false),
        userCode("user_code", "userCode", "VARCHAR", false),
        userCodeQ("user_code_q", "userCodeQ", "VARCHAR", false),
        userName("user_name", "userName", "VARCHAR", false),
        userName2("user_name2", "userName2", "VARCHAR", false),
        userName3("user_name3", "userName3", "VARCHAR", false),
        userName4("user_name4", "userName4", "VARCHAR", false),
        userName5("user_name5", "userName5", "VARCHAR", false),
        userName6("user_name6", "userName6", "VARCHAR", false),
        userNote("user_note", "userNote", "VARCHAR", false),
        userPassword("user_password", "userPassword", "VARCHAR", false),
        userType("user_type", "userType", "INTEGER", false);

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private static final String BEGINNING_DELIMITER = "`";

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private static final String ENDING_DELIMITER = "`";

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private final String column;

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private final boolean isColumnNameDelimited;

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private final String javaProperty;

        /**
         * This field was generated by MyBatis Generator.
         * This field corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        private final String jdbcType;

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String value() {
            return this.column;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String getValue() {
            return this.column;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String getJavaProperty() {
            return this.javaProperty;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String getJdbcType() {
            return this.jdbcType;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
            this.column = column;
            this.javaProperty = javaProperty;
            this.jdbcType = jdbcType;
            this.isColumnNameDelimited = isColumnNameDelimited;
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String desc() {
            return this.getEscapedColumnName() + " DESC";
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String asc() {
            return this.getEscapedColumnName() + " ASC";
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public static Column[] excludes(Column ... excludes) {
            ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
            if (excludes != null && excludes.length > 0) {
                columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
            }
            return columns.toArray(new Column[]{});
        }

        /**
         * This method was generated by MyBatis Generator.
         * This method corresponds to the database table sm_user
         *
         * @mbg.generated
         * @project https://github.com/itfsw/mybatis-generator-plugin
         */
        public String getEscapedColumnName() {
            if (this.isColumnNameDelimited) {
                return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
            } else {
                return this.column;
            }
        }
    }
}